package cn.mulanbay.business.handler;

import cn.mulanbay.common.util.StringUtil;
import org.springframework.beans.factory.annotation.Value;

/**
 * 图片、视频等管理
 *
 * @author fenghong
 * @create 2022-01-16 10:00
 */
public class BaseMediaHandler extends BaseHandler {

    /**
     * 文件夹分隔符
     */
    public static final String FOLDER_SEPARATE = "/";

    /**
     * 文件url前缀
     */
    @Value("${file.url}")
    String fileUrl;

    /**
     * 图片url前缀
     */
    @Value("${picture.url}")
    String pictureUrl;

    /**
     * 视频url前缀
     */
    @Value("${video.url}")
    String videoUrl;

    public BaseMediaHandler() {
        super("多媒体处理");
    }

    /**
     * 获取图片全路径
     * @param s
     * @return
     */
    public String getFileFullUrl(String s){
        if(StringUtil.isEmpty(s)){
            return s;
        }
        if(s.startsWith("http")){
            return s;
        }
        return fileUrl+s;
    }

    /**
     * 获取图片全路径
     * @param s
     * @return
     */
    public String getPictureFullUrl(String s){
        if(StringUtil.isEmpty(s)){
            return s;
        }
        if(s.startsWith("http")){
            return s;
        }
        return pictureUrl+s;
    }

    /**
     * 获取视频全路径
     * todo 可以进行视频地址加密（如DES）
     * @param s
     * @return
     */
    public String getVideoFullUrl(String s){
        if(StringUtil.isEmpty(s)){
            return s;
        }
        if(s.startsWith("http")){
            return s;
        }
        return videoUrl+s;
    }

    /**
     * 去除前缀
     * @param path
     * @return
     */
    public String cutPicturePath(String path){
        if(StringUtil.isEmpty(path)){
            return path;
        }else{
            return path.replace(pictureUrl,"");
        }
    }

    /**
     * 去除前缀
     * @param path
     * @return
     */
    public String cutVideoPath(String path){
        if(StringUtil.isEmpty(path)){
            return path;
        }else{
            return path.replace(videoUrl,"");
        }
    }

}
